﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AparcaTuCocheApp.Core.Contracts;

namespace AparcaTuCocheApp.DAL
{
    /// <summary>
    /// Clase Usuario
    /// </summary>
    public class User : IEntity
    {
        #region variables miembro

            /// <summary>
            /// variable miembro coches
            /// </summary>
            private IList<Car> cars = null;

        #endregion

        #region Propiedades
            /// <summary>
            /// Propiedad Identificador del usuario
            /// </summary>
            Guid id = Guid.Empty;

            public Guid Id
            {
                get
                {
                    if (id.Equals(Guid.Empty))
                    {
                        id = Guid.NewGuid();
                    }
                    return id;
                }
                set
                {
                    id = value;
                }
            }
            /// <summary>
            /// Propiedad Dni del usuario
            /// </summary>
            public String Dni { get; set; }
            /// <summary>
            /// Propiedad Nombre del usuario
            /// </summary>
            public String Name { get; set; }
            /// <summary>
            /// Propiedad Apellido del usuario
            /// </summary>
            public String Surname { get; set; }
            /// <summary>
            /// Propiedad Direccion del usuario
            /// </summary>
            public String Address { get; set; }
            /// <summary>
            /// Propiedad Telefono del usuario
            /// </summary>
            public String Phone { get; set; }
            /// <summary>
            /// Propiedad Alta del usuario
            /// </summary>
            public DateTime SignUp { get; set; }
            /// <summary>
            /// Propiedad puntos del usuario
            /// </summary>
            public double Points { get; set; }
            /// <summary>
            /// Propiedad Coches del usuario
            /// </summary>
            public IList<Car> Cars {
            get { 
                if (cars == null){
                    cars = new List<Car>();
                }
                return cars;
            }
            set { }
        }

         #endregion

    }
}
